package com.ycy;

import cn.hutool.json.JSONUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;

public class ExcelDemo1 {

    /**
     * 按行读取成  对象集合
     * 注意：如果遇到空行，会自动跳过
     * @param args
     */
    public static void main(String[] args) {
        GenericDataListener listener = new GenericDataListener();
        String filePath = "C:\\Users\\yincaiyong\\Desktop\\linshi\\风险点清单导入模板_2024_09_26_14_03_24.xlsx";
//        String filePath = System.getProperty("user.home") + "/Desktop/居住区（居民小区）台账导入模板 (4).xlsx";
        filePath = "C:\\Users\\yincaiyong\\Downloads\\风险点清单导入模板（政府）_2024_10_12_14_30_54.xlsx";

        ExcelReaderBuilder readerBuilder = EasyExcel.read(filePath, listener);
        ExcelReaderSheetBuilder sheetBuilder = readerBuilder
                .headRowNumber(0) // 默认是1,如果读取全量数据就设置成0
                .sheet(0);
        sheetBuilder.doRead();

        List<Object> dataList = listener.getDataList();
        for (Object data : dataList) {
            System.out.println(data);
        }

        /*

        {0=*注意：模版使用说明
1.标题、表头请勿改动；从第5行开始填写信息；
2.选项类【可变内容】不支持超出预设范围外的内容；
3.不支持公式计算，合并单元格等特殊内容；
4.管道燃气用户数及瓶装燃气用户数不可同时为空;
5.带*为必填项，蓝底部分字段不允许修改；, 1=null, 2=null, 3=null, 4=null, 5=null, 6=null, 7=null, 8=null, 9=null, 10=null, 11=null, 12=null, 13=null, 14=null, 15=null, 16=null, 17=null, 18=null, 19=null, 20=null, 21=null, 22=null, 23=null, 24=null}
{0=居住区（村庄）台账, 1=null, 2=null, 3=null, 4=null, 5=null, 6=null, 7=null, 8=null, 9=null, 10=null, 11=null, 12=null, 13=null, 14=null, 15=null, 16=null, 17=null, 18=null, 19=null, 20=null, 21=null, 22=null, 23=null, 24=null}
{0=序号, 1=企业管理所属行政区, 2=null, 3=企业情况, 4=null, 5=null, 6=居住区（村庄）所在县（市、区）, 7=居住区（村庄）所属乡镇, 8=*所属村行政区ID, 9=*村庄名称, 10=居住区（村庄）编码
（新增数据此列不填）, 11=常用名、别名, 12=企业自有系统编码（无系统的填无）, 13=*居民总户数, 14=管道燃气用户数（开通数）, 15=瓶装燃气用户数, 16=燃气浓度检测报警装置安装数量, 17=报警联动切断装置安装数量, 18=自闭阀安装数量, 19=IC 卡智能燃气表（含非物联智能燃气表）（个）, 20=普通膜式燃气表（个）, 21=物联网智能燃气表（个）, 22=经度, 23=纬度, 24=备注}
{0=null, 1=设区市, 2=*县（市、区）, 3=企业名称, 4=统一社会信用代码, 5=燃气经营许可证号, 6=null, 7=null, 8=null, 9=null, 10=null, 11=null, 12=null, 13=null, 14=null, 15=null, 16=null, 17=null, 18=null, 19=null, 20=null, 21=null, 22=null, 23=null, 24=null}
{0=1, 1=2, 2=3, 3=4, 4=5, 5=6, 6=7, 7=8, 8=9, 9=10, 10=11, 11=12, 12=13, 13=14, 14=15, 15=16, 16=17, 17=18, 18=19, 19=20, 20=21, 21=22, 22=23, 23=24, 24=25, 25=26}

         */

    }

}
